/***
 *   在柠檬水摊上，每杯柠檬水的售价为5美元。顾客排队购买你的产品，一次购买一杯，
 * 每位顾客只买一杯柠檬水，然后向你付5美元，10美元或者20美元。必须给每个顾客正确找零。
 * 注意，一开始你的手头没有任何零钱，如果你能给每个顾客正确找零，则返回true，
 * 否则返回false。
 */
let list = [5, 10, 5, 20, 5, 10, 10, 5, 20];

function exchange( list ){
    let coin5Count = 0;
    let coin10Count = 0;
    for( let index=0; index<list.length; index++ ){
        let value = list[index];
        if( value == 5 ){
            coin5Count++;
            console.log(`第${index+1}个用户,支付5元，找零0元; 剩余${coin5Count}个5元,${coin10Count}个10元`)
            continue;
        }
        if( value == 10 ){
            if( coin5Count > 0 ){
                coin5Count--;
                coin10Count++;
                console.log(`第${index+1}个用户,支付10元，找零5元; 剩余${coin5Count}个5元,${coin10Count}个10元`)
                continue;
            }
            console.log(`第${index+1}个用户,支付10元，无法找零`)
            return false;
        }
        if( value == 20 ){
            if( coin10Count > 0 && coin5Count > 0 ){
                coin5Count--;
                coin10Count--;
                console.log(`第${index+1}个用户,支付20元，找零15元; 剩余${coin5Count}个5元,${coin10Count}个10元`)
                continue;
            }
            console.log(`第${index+1}个用户,支付20元，无法找零`)
            return false;
        }
    }
}

exchange(list);